package com.jsmile.cloud.authc.sys.dao;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jsmile.cloud.authc.sys.model.SysRole;
import com.jsmile.cloud.authc.sys.model.SysRoleResources;
import com.jsmile.cloud.authc.sys.model.SysUserRole;

/**
 * @author 龚亮
 * @version 1.0
 * @desc 为了薪资破万，还是睡一会儿吧...!
 * @date 2019年11月01日 08:15:29
 */
@Mapper
public interface SysRoleDao extends BaseMapper<SysRole> {

    /**
     * 获取用户所拥有的角色
     *
     * @param userId
     *            用户id
     * @return 角色列表
     */
    List<SysRole> getRoleByUserId(@Param("userId") Long userId);

    @Delete("delete from t_op_sys_user_role where user_id=#{userId}")
    int deleteUserRole(@Param("userId") Long userId);

    @Insert("insert into t_op_sys_user_role(user_id,role_id) values (#{userId},#{roleId})")
    int saveUserRole(SysUserRole ur);

    @Delete("delete from t_op_sys_role_resources where role_id=#{roleId}")
    int deleteRoleResource(@Param("roleId") Long roleId);

    @Insert("insert into t_op_sys_role_resources(role_id,resources_id) values (#{roleId},#{resourcesId})")
    int saveRoleResources(SysRoleResources rr);
}
